Multi-threaded database access এমন একটি বৈশিষ্ট্য, যা একাধিক থ্রেড বা প্রসেসকে একই সময়ে ডেটাবেজ অ্যাক্সেস করতে সক্ষম করে। এটি একটি ডেটাবেজ সিস্টেমের পারফরম্যান্স উন্নত করতে সাহায্য করে, বিশেষত যখন একাধিক ব্যবহারকারী বা থ্রেড একসাথে ডেটাবেজে কাজ করছে। H2 Database, যেমন অন্যান্য আধুনিক ডেটাবেজ সিস্টেম, multi-threaded access সমর্থন করে, যার মানে হল যে একাধিক থ্রেড একই ডেটাবেজে বিভিন্ন অপারেশন করতে পারে।
H2 Database সাধারণত multi-threaded access সমর্থন করে, যা একাধিক থ্রেডকে একটি ডেটাবেজের সাথে একযোগভাবে কাজ করতে দেয়। এর ফলে, যদি আপনার অ্যাপ্লিকেশন বা সার্ভার একাধিক থ্রেড ব্যবহার করে, তবে তারা একই ডেটাবেজে পৃথকভাবে কাজ করতে পারে, ডেটার অখণ্ডতা বজায় রেখে।
H2 Database এ multi-threaded অ্যাক্সেস প্রক্রিয়াটি সাধারণত JDBC সংযোগের মধ্যে পরিচালিত হয়, যেখানে প্রতিটি থ্রেড নিজস্ব ডেটাবেজ সংযোগ তৈরি করতে পারে। এটি পারফরম্যান্স উন্নত করতে সাহায্য করে এবং ডেটাবেজ অপারেশনগুলির প্রতি থ্রেডের চাপ কমায়।
এখানে একটি উদাহরণ দেওয়া হল যেখানে multiple threads H2 ডেটাবেজে একযোগে কাজ করছে। এই উদাহরণে প্রতিটি থ্রেড নতুন ডেটাবেজ সংযোগ ব্যবহার করে একটি নির্দিষ্ট টেবিলে ডেটা ইনসার্ট করছে।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
public class MultiThreadedH2Example {
public static void main(String[] args) {
// H2 ডেটাবেজ URL, ইউজার এবং পাসওয়ার্ড
String jdbcURL = "jdbc:h2:~/test";
String username = "sa";
String password = "";
// 5টি থ্রেড তৈরি করা
for (int i = 0; i < 5; i++) {
new Thread(new Runnable() {
@Override
public void run() {
try {
// প্রতিটি থ্রেডের জন্য নতুন সংযোগ তৈরি করা
Connection connection = DriverManager.getConnection(jdbcURL, username, password);
// SQL কুয়েরি চালানো
Statement statement = connection.createStatement();
String insertSQL = "INSERT INTO Users (id, name) VALUES (" + (int) (Math.random() * 100) + ", 'User')";
statement.executeUpdate(insertSQL);
System.out.println("ডেটা ইনসার্ট করা হয়েছে");
// সংযোগ বন্ধ করা
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}).start(); // থ্রেড শুরু করা
}
}
}
এই কোডে:
Users
টেবিলে একটি রেকর্ড ইনসার্ট করছে।H2 Database-এ multi-threaded access ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের পারফরম্যান্স ও কার্যক্ষমতা বাড়াতে পারেন। এটি একাধিক থ্রেডকে একযোগভাবে কাজ করার সুযোগ দেয়, এবং ডেটাবেজ অপারেশনগুলোকে দ্রুততর ও দক্ষভাবে সম্পাদন করতে সাহায্য করে। তবে, থ্রেড সুরক্ষা এবং সঠিক কনফিগারেশন নিশ্চিত করতে, প্রতিটি থ্রেডের জন্য আলাদা সংযোগ ব্যবহারের পরামর্শ দেওয়া হয়।
common.read_more